JetLinks平台二次开发 : 一、TCP设备接入JetLinks平台 |
您所在的位置:网站首页 › citra 联机协议怎么改tcp › JetLinks平台二次开发 : 一、TCP设备接入JetLinks平台 |
jetlinks是一个开源的物联网云平台,功能比较强大。支持MQTT、TCP、COAP、HTTP等设备的接入,若要在平台中接入设备,可根据此文档进行相关操作。 关于该平台的基本信息,这里不做过多介绍,详细功能附上链接 JetLinks 物联网基础平台(2.x) 后续将出一系列在该平台做接入设备涉及的MQTT、TCP协议开发、数据qingqi的博客,欢迎大家评论交流。 要做该平台的接入,首先了解官网,下载源码,安装依赖环境,相关环境后端包括Java、jdk 1.8及以上、IDEA、redis、elasticsearch、当然数据库也是必须的,前端安装node,更新yarn即可,这里不做过多介绍,上述环境推荐docker安装,简单方便。 这里附上源码链接:https://gitee.com/jetlinks/jetlinks-communityJetLinks物联网基础平台 - JetLinks物联网基础平台https://gitee.com/jetlinks/jetlinks-community 注: 图中左图后端代码(模块较多,目前仍在学习中,后续介绍),右图前端代码。 ### 1. 环境安装和平台本地部署安装完软件,下载完代码后,下一步便是部署前后端项目,当然官网也有说明,这里以本人在做时的截图给大家呈现,没问题可以跳过。 先运行后端代码,打开后端模块 jetlinks-standalone ->配置redis,根据自己安装的redis真实信息进行配置 ->配置数据源 ->配置elasticsearch 运行模块jetlinks-standalone下启动类JetLinksApplication 至此,后端启动成功! 接下来是前端,打开node命令行工具 进入前端代码所在目录,这里我是E盘下的目录 修改配置文件config/proxy.ts,本人局域网内主机IP为以下地址,上面运行后端端口8848,以下配置让 前端访问的地址指向到我们刚运行的后端项目。
根据官网启动说明文档,运行yarn dev 可能出现如下。 网上搜索说是版本不一致,本人前端小菜鸡,按大神指示照做,果然正确 > set NODE_OPTIONS=--openssl-legacy-$ npm run start:dev 运行测试 至此,本地部署实现。 ### 2. TCP协议的设备接入步骤一 jetlinks平台中配置 设备管理下,配置 产品->设备 运维管理下,配置设备接入网关-> 网格组件 -> * 协议管理 *(这里需要做协议开发) 这些配置根据官方文档都能完成,这里介绍下易掉坑的几个地方。 FQ1: 第一个,配置协议时的公网地址为TCP客户端发起访问时,需要连接的地址,公网地址为当前服务器的IP。 FQ2:第二个,协议管理时,协议怎么选? 从官网JetLinks物联网基础平台/jetlinks-official-protocol下载代码,package中已经为我们提供了可用的协议jar包,但这个协议包的通信过程,报文数据需按平台的格式来发送。 协议管理下,选择协议,上传jar包时,可直接选我们刚下载package目录下的协议jar包。 特别注意,官网协议包里,这里是客户端向服务器发送数据时,每一次都会被调用的地方,包括发送建立连接的报文,这里如果有执行readInt,那么报文数据前就需要带上4个字节的数据长度。
步骤二 支持自定义TCP的协议开发 idea下,打开jetlinks-official-protocol工程,默认包路径 org.jetlinks.protocol.official.tcp 下,这里有几个关键类,若要做开发,可看了这些类的代码后,进行编写修改。 1.tcp/TcpDeviceMessageCodec:tcp设备连接后,发送数据时,平台会调用的解析类,设备发送的数据将该 类中的decode方法进行解析,因此处理自定义数据时,接收客户端发送数据的入口在这里。 @NonNull @Override public Publisher |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |